(function($){
    $.showProductEditForm = function(t) {
        $(t).parent().parent().find('.form-container').show();
        $(t).parent().parent().find('.product-body').hide();
        $(t).parent().parent().find('.product-form-close').show();
    };

    $.hideProductEditForm = function(t) {
        $(t).parent().parent().find('.form-container').hide();
        $(t).parent().parent().find('.product-body').show();
        $(t).parent().parent().find('.product-form-close').hide();
    };

    $.showProductAddForm = function(t) {
        $(t).parent().hide();
        if ($('body').hasClass('effect')) {
            $(t).parent().parent().find('.form-container').show('normal');
        }
        else {
            $(t).parent().parent().find('.form-container').show();
        }
    };

    $.hideProductAddForm = function(t) {
        $(t).parents('form').resetForm();
        $(t).parents('form').find('.ajax-message').html("");
        if ($('body').hasClass('effect')) {
            $(t).parents('form').parent().hide('normal', function() {
                $('.product-add-form-toggle').parent().show();
            });
        }
        else {
            $(t).parents('form').parent().hide(10, function() {
                $('.product-add-form-toggle').parent().show();
            });
        }
    };

    $.inputLangChange = function(t) {
        var value = $(t).find('option:selected').attr('value');
        var old_name = $(t).parents('form').find('input[name=old_name]').attr('value');
        var data = {
            action: 'input_lang_change',
            lang : value,
            name : old_name
        }
        var send = $.param(data);
        $.ajax({
            url : 'ajax/product-ajax.php',
            data : send,
            type : 'post',
            dataType: 'json',
            success: function(data) {
                if (data.code == 1) {
                    $(t).parents('form').find('input[name=product_name]').attr('value', data.name);
                    $(t).parents('form').find('textarea[name=product_description]').val(data.description);
                }
            }
        });
    };

    $.reloadProductContent = function() {
        var data = {
            action : 'reload_paper_content'
        }
        var send = $.param(data);
        $.ajax({
            url : 'ajax/product-ajax.php',
            data : send,
            type : 'POST',
            dataType : 'html',
            success : function(data) {
                $('#papers-container').html(data);

                data = {
                    action : 'reload_project_content'
                };
                send = $.param(data);
                $.ajax({
                    url : 'ajax/product-ajax.php',
                    data : send,
                    type : 'POST',
                    dataType : 'html',
                    success : function(data) {
                        $('#projects-container').html(data);

                        //Toggle form
                        $('.product-form-toggle').click(function(){
                            $.showProductEditForm(this);
                            return false;
                        });

                        $('.product-form-close').click(function(){
                            $.hideProductEditForm(this);
                            return false;
                        });

                        $('.product-add-form-toggle').click(function(){
                            $.showProductAddForm(this);
                            return false;
                        });

                        $(".product-add-cancel").click(function(){
                            $.hideProductAddForm(this);
                            return false;
                        });

                        $('.input-lang-changer').change(function(){
                            $.inputLangChange(this);
                        });

                        $(".product-edit-cancel").click(function(){
                            $.cancelEditForm(this);
                            return false;
                        });

                        $(".product-edit-ajax-submit").click(function(){
                            return $.submitEditForm(this);
                        });

                        $(".product-delete-ajax-submit").click(function(){
                            return $.submitDeleteForm(this);
                        });
                    }
                });
            }
        });
        return false;
    };

    $.submitEditForm = function(t) {
        return $.submitForm(t, function(form, data){
            if (data.code == 1) {
                $(form).find(".ajax-message").htmlTimer(data.message, 5000);
                $.reloadProductContent();
            }
            else {
                $(form).find(".ajax-message").htmlTimer(data.message, 5000);
            }
        });
    };

    $.submitDeleteForm = function(t) {
        var data = {
            action : 'delete_product'
        };
        var send = $.param(data);
        $.ajax({
            url : 'ajax/message-ajax.php',
            type : 'post',
            data : send,
            dataType: 'html',
            success : function(message) {
                var c = confirm(message);
                if (c) {
                    var name = $(t).parents('form').find('input[name=old_name]').attr('value');
                    var data = {
                        old_name : name,
                        action : 'delete_product'
                    }
                    var send = $.param(data);
                    $.ajax({
                        url : 'ajax/product-ajax.php',
                        data : send,
                        type : 'POST',
                        dataType : 'json',
                        success : function(data) {
                            if (data.code == 1) {
                                $.reloadProductContent();
                            }
                            else {
                                $(t).parents('form').find(".ajax-message").htmlTimer(data.message, 5000);
                            }
                        }
                    });
                }
            }
        });
        return false;
    };

    $.submitAddForm = function(t) {
        return $.submitForm(t, function(form, data){
            if (data.code == 1) {
                $(form).find(".ajax-message").htmlTimer(data.message, 5000);
                $(form).resetForm();
                $.reloadProductContent();
            }
            else {
                $(form).find(".ajax-message").htmlTimer(data.message, 5000);
            }
        });
    };

})(jQuery);

$(function(){
    //Toggle form
    $('.product-form-toggle').click(function(){
        $.showProductEditForm(this);
        return false;
    });

    $('.product-form-close').click(function(){
        $.hideProductEditForm(this);
        return false;
    });

    $('.product-add-form-toggle').click(function(){
        $.showProductAddForm(this);
        return false;
    });

    $(".product-add-cancel").click(function(){
        $.hideProductAddForm(this);
        return false;
    });

    $('.input-lang-changer').change(function(){
        $.inputLangChange(this);
    });

    $(".product-add-ajax-submit").click(function(){
        return $.submitAddForm(this);
    });

    $(".product-edit-ajax-submit").click(function(){
        return $.submitEditForm(this);
    });

    $(".product-delete-ajax-submit").click(function(){
        return $.submitDeleteForm(this);
    });
});

